package main

import (
	"fmt"
	"time"
)

func main9() {
	count := 2
	// 创建一个缓冲区大小为2的channel对象
	ch := make(chan int)

	go func() {
		for i := 1; i <= 5; i++ {
			time.Sleep(time.Millisecond) // 模拟耗时操作
			fmt.Println(i)
		}
		// 子协程结束时，向channel中写入数据——0
		ch <- 0
	}()

	go func() {
		for i := 1; i <= 5; i++ {
			time.Sleep(time.Millisecond) // 模拟耗时操作
			fmt.Println(i * 10)
		}
		ch <- 0
		// 子协程结束时，向channel中写入数据——0
	}()

	// 在主协程中，尝试从channel对象中读出两个元素
	for i := 0; i < count; i++ {
		<-ch
	}
}
